0. Вводное занятие 1. Мотивация изучения многопоточного программирования 2. Глобальные проблемы и цели многопоточного программирования 3. QA сессия 1 5. Реализация низкоуровневых примитивов синхронизации на Go 6. Реализация критической секции 8. Устройство и ключевые свойства блокировок 9. Использование и устройство сложных примитивов синхронизации 10. QA сессия 2 12. Каналы в Go как встроенная многопоточная очередь 13. Многопоточные паттерны на основе каналов в Go 14. QA сессия 3 15. Формализм и аппаратные особенности многопоточного программирования 17. Продвинутые блокировки для многосерверных систем 19. Продвинутые многопоточные паттерны для коллекций 20. Lock-free и obstruction-free алгоритмы 21. QA сессия 4 23. Асинхронное программирование